The present invention is directed generally to a processing system that includes groups of interconnected symmetric multiprocessing (SMP) systems arranged as a cluster to present a single image view to a system user. In particular, the invention is directed to creating, in a consistent, reliable manner, separate, independent execution environments for each processor unit of each SMP system.
Today, business-critical computing such as securities transactions, automated teller machine transactions, credit card transactions, as well as critical functions (emergency telephone systems, directory assistance requests, cellular calls, internet traffic, etc.), rely heavily on computing environments that utilize multiple processors. Although many multiprocessor architectures exist and are used, one multiprocessor architecture, termed a "cluster", has attained some popularity of late. A cluster generally is a number of independent systems ("nodes") working together as a single entity to provide better performance and enhanced reliability. Clustering can provide highly reliable, highly scalable, fault-tolerant computing, one that can incorporate failover schemes allowing an active node to pick up from a failed node. Further, system resources are always available; nodes do not have to be sitting idle for a failure to occur such as in so-called "hot backup" systems.
A recent extension of the clustering concept has been to use multiple processor units to form one or more of the nodes of the cluster system, and to configure the multiple processor unit nodes as a symmetric multiprocessor (SMP) system. The combination of SMP-based nodes in a cluster, however, provides the best of both possible worlds: a reliable, scalable interconnect architecture together with a robust, parallel software available for business-critical computing as well as other critical functions, described above.
However, SMP systems have scalability constraints. Whether SMP systems are based on a Windows NT operating (Windows, NT, and Windows NT are trademarks of Microsoft Corporation, Redmond, Wash.) or UNIX operating system, they are shared memory entities. When memory and other resources are shared among multiple processors, the addition of processors can result in resource contention. Thus, there exists a need to improve scalability of SMP systems (i.e., adding processor units) so that as processor units are added to an SMP configured node, memory contention problems do not inhibit a corresponding expansion of power, performance, and workload balancing within that node.